翻訳と辞書
Just another Perl hacker : ウィキペディア英語版
Just another Perl hacker Just another Perl hacker, or JAPH, typically refers to a Perl program which prints "Just another Perl hacker," (the comma is canon ical but is occasionally omitted). Short JAPH programs are often used as signatures in online forums , or as T-shirt designs. The phrase or acronym is also occasionally used (without code ) for a signature. JAPH programs are classically done using extremely obfuscated methods, in the spirit of the Obfuscated C Contest . More recently, as the phenomenon has become so well known, the phrase is sometimes used in ordinary examples (without obfuscation). The idea of using tiny Perl programs which print a signature ''as a signature'' was originated by Randal L. Schwartz , in his postings to the newsgroup comp.lang.perl.〔Randal L. Schwartz in Usenet message M1HFPVH2JQ.FSF@HALFDOME.HOLDIT.COM explaining the origin of JAPH. Available through (Google.com )〕 Many of the JAPHs below are his.==Examples== JAPH program without obfuscation: print "Just another Perl hacker,"; Embedding JAPH in opaque code: $_='987;s/^(\d+)/$1-1/e;$1?eval:print"Just another Perl hacker,"';eval; Decoding JAPH from a transposed string literal : $_="krJhruaesrltre c a cnP,ohet";$_.=$1,print$2while s/(..)(.)//; Printing out JAPH as separate processes: for $i (0..4) } or $i == 1 or not } or $i == 2 or not } or $i == 3 or not } ; sleep $i; last; } } kill INT => $$; Appearing as if it does something completely unrelated to printing JAPH: $_ = "wftedskaebjgdpjgidbsmnjgc"; tr/a-z/oh, turtleneck Phrase Jar!/; print; Forking processes to print out one letter each in the correct order:〔(Plover.com )〕 @P=split//,".URRUU\c8R";@d=split//,"\nrekcah xinU / lreP rehtona tsuJ";sub p)&6" TITLE="$f^ord ($p)&6">);$p=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map%p;wait until$?;map%p;$_=$d( );sleep rand(2)if/\S/;print Using only Perl keywords (no literal s or punctuation ):〔Originally posted at (perlmonks.org ) by user blokhead〕 not exp log srand xor s qq qx xor s x x length uc ord and print chr ord for qw q join use sub tied qx xor eval xor print qq q q xor int eval lc q m cos and print chr ord for qw y abs ne open tied hex exp ref y m xor scalar srand print qq q q xor int eval lc qq y sqrt cos and print chr ord for qw x printf each return local x y or print qq s s and eval q s undef or oct xor time xor ref print chr int ord lc foreach qw y hex alarm chdir kill exec return y s gt sin sort split Using only punctuation , no alphanumeric characters (written by (Eric Roode ); only works on Unix and Unix-like systems): `$=`;$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,,$\,$",$;,$^,$#,$~,$ *,$:,@%)=( $!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++; $_++;$_++;($_,$\,$,)=($~.$"."$;$/$%( )$_$\$,$:$%( )",$"&$~,$#,);$,++ ;$,++;$^|=$";`$_$\$,$/$:$;$~$ *$%( )$.$~$ *$$%( )$;$\$"$^$~$ *.>&$=` A much shorter one, using only punctuation, based on the (EyeDrops ) module: ''=~('(?`]()`@.@]@%)::x)$V+=ord( substr( $$P,0,1,""))-74} sub a=1}}sub pelse$J+=$I;$L+=$K;a($I,$K,$J,$ L); ($I,$K)=($J,$L)}a($I,$K,$N,$O)}@_;my$T;map?$\:' '}(-59..59);$T.="\n"}(-23..23);print"\eBAIJT] *QJwRAI *JDnR8QAU}wT8KT'. ']n *JEI *EJR *QJ] *JR *DJ@IQ]} *JWe *JD( ) *JPe *JC?8B *JE};Vq *OJQ/IPU/T *QJP?} *JSe *JCnTe'. 'QIAKJR} *JV]wRAI *J?}T] *RJcJI( )3;U]Uq *PM( )W]WCT *DM *SJ'. 'ZPnT]T3o *OJ, $$ _( ));($M, @,)= split '}';for( $z=256 ;$z>0; $z -=$S) sleep$_ ( );while ($_( )&&($ z+=$ S) <=256)}("". "32}7D$j" ."}AG". "$u}OG" ."$s}WG" ."$t","" ."24}(" ."IJ$a" ."}1G$n" ."}CO$o" ."}GG$t" ."}QC" ."$h}" ."^G$e" ."})IG" ."$r", "32}?" ."H$p}FG$e}QG$r". "}ZC" ."$l", "28}(LC" ."" ."". "$h}:" ."J$a}EG". "$c" ."}M" ."C$k}ZG". "$e" ."}" ."dG$r","18" ."}(" ."D;" ."$C" )}### #written 060204 by #liverpole @@@@@@@ #@@@@@@@@@@@ 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia) 』 ■ウィキペディアで「Just another Perl hacker」 の詳細全文を読む スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース
Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.